package com.lanqiao.attendance.mapper;

import com.lanqiao.attendance.pojo.Class;
import com.lanqiao.attendance.pojo.Student;
import com.lanqiao.attendance.vo.ClassVo;
import com.lanqiao.attendance.vo.LoginVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;

import java.io.File;
import java.util.List;

@Mapper
public interface StudentMapper {
    //    查询用户所有信息
    List<Student> queryAllStu();

    //    使用账号密码登录
    Student login(@Param("account") String account, @Param("password") String password);

    //    插入学生信息（学生注册）
    int insertStudent(Student student);

    //    根据学生姓名查询学生部分信息
    List<Student> queryStuByName(String name);

    //    根据学生账号查询学生部分信息
    Student queryStuByAccount(String account);

    //    更新学生教室信息
    int updateStuClass(@Param("className") String className, @Param("id") Long id);

    //    根据id查询学生信息
    Student queryStuById(long id);

    //    根据班级名查询班级信息
    ClassVo queryClass(String name);

    //    删除学生数据
    int delStuById(String account);

    //      学生更新自己数据
    int updateStuByStu(Student student);

    //    教室更新学生数据
    int updateStuByTea(Student student);

    //    根据学生id查询学生部分信息
    Student queryStuByIdPart(long id);

    //    根据班级名查询班级内所有学生信息
    List<Student> queryStuByClsName(String className);

    Student queryByAccountAndPwd(String account, String password);

    //    更新头像
    void updateHeadImg(@Param("account") String account, @Param("headImg") String headImg);


    List<Student> queryAllNoClass();

    int addToClass(Long id, String className);

    int countStudent(String className);

    void rmFromClassById(Long id);

    List<Student> queryAllByClass(String className);

    void updateClassName(String oldName, String newName);

    void rmFromClassByName(String className);
}



